package com.ledi.guns.common.persistence.model;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import lombok.Data;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.annotations.Version;
import com.baomidou.mybatisplus.enums.IdType;

/**
 * <p>
 * </p>
 *
 * @author ledi
 * @since 2017-11-30
 */
@TableName("t_bill_detail")
@Data
public class BillDetail extends Model<BillDetail> {

	private static final long serialVersionUID = 1L;

	/**
	 * id
	 */
	@TableId(value = "id", type = IdType.AUTO)
	private Long id;
	/**
	 * 账单编号（根据时间生成唯一编号，主键）
	 */
	@TableField("bill_detail_id")
	private String billDetailId;
	/**
	 * 账单ID
	 */
	@TableField("bill_id")
	private Long billId;
	/**
	 * 学生名称
	 */
	@TableField("student_name")
	private String studentName;
	/**
	 * 学生学校ID
	 */
	@TableField("school_id")
	private Long schoolId;
	/**
	 * 学生班级
	 */
	@TableField("class_id")
	private Long classId;
	/**
	 * 学生学号（教育局学号）
	 */
	@TableField("student_code")
	private String studentCode;
	/**
	 * 学生身份证号（和学生学号2选一）
	 */
	@TableField("student_identify")
	private String studentIdentify;
	/**
	 * 家长手机号
	 */
	@TableField("parent_mobile")
	private String parentMobile;
	/**
	 * 子订单总额
	 */
	@TableField("total_detail")
	private BigDecimal totalDetail;
	/**
	 * 账单发送时间
	 */
	@TableField("bill_detail_begin_time")
	private Date billDetailBeginTime;
	/**
	 * 家长付款时间
	 */
	@TableField("pay_time")
	private Date payTime;
	/**
	 * 付款方式（ALIPAY:支付宝，WEIXIN:微信支付）
	 */
	@TableField("pay_way")
	private String payWay;
	/**
	 * 是否成功（0：未发送，1：发送成功，3：发送失败，4：撤销账单，5：缴费成功，6：支付成功）
	 */
	@TableField("bill_status")
	private Integer billStatus;

	/**
	 * 错误原因
	 */
	@TableField("file_reason")
	private String fileReason;

	@TableField("create_time")
	private Date createTime;
	@TableField("creator_role")
	private String creatorRole;
	@TableField("creator_id")
	private Long creatorId;
	@TableField("update_time")
	private Date updateTime;
	@TableField("updater_role")
	private String updaterRole;
	@TableField("updater_id")
	private Long updaterId;
	/**
	 * 是否删除：0-未删除；1-已删除
	 */
	@TableField("is_delete")
	private Integer isDelete;
	@Version
	private Integer versionNo;
	/**
	 * 备注
	 */
	private String comment;

	/**
	 * 收费明细
	 */
	@TableField("pay_item")
	private String payItem;

	@Override
	protected Serializable pkVal() {

		return id;
	}

}
